﻿using System;
using System.Collections.Generic;
using System.Web.UI;
using AjaxControlToolkit;
using System.IO;
using SisEagle.IView.Produtos;

namespace SisEagle.View.Web.Produto
{
    public partial class Imagens : Base.WebPageBase, IImagensView
    {

        private SisEagleBO.ImagensBO _ImagensBusiness;
        private SisEagleBO.ImagensBO ImagensBusiness
        {
            get
            {
                if (_ImagensBusiness == null)
                    _ImagensBusiness = new SisEagleBO.ImagensBO();

                return _ImagensBusiness;
            }
        }

        #region Page -Load /OnInit
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            inicialize();
        }
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        #endregion


        private void inicialize()
        {
            AsyncFileUpload1.UploadedComplete += (AsyncFileUpload1_UploadedComplete);
            AsyncFileUpload1.UploadedFileError += (AsyncFileUpload1_UploadedFileError);
        }

        void AsyncFileUpload1_UploadedFileError(object sender, AsyncFileUploadEventArgs e)
        {
            throw new NotImplementedException();
        }



        void AsyncFileUpload1_UploadedComplete(object sender, AsyncFileUploadEventArgs e)
        {

              if (AsyncFileUpload1.HasFile)
              {

                  string strPath = @"~/Uploads/" + Path.GetFileName(e.FileName);
           
                  if(PermitirArquivo(strPath))
                  {
                    //System.Threading.Thread.Sleep(1000);
            
                    AsyncFileUpload1.SaveAs(Server.MapPath(strPath));


                    //SALVA NOME DA IMAGEM NO BANCO
                    if (!(Request.QueryString["codProduto"] == null))
                    {

                        SisEagleVO.ImagensVO objImagensVO = new SisEagleVO.ImagensVO();
                        objImagensVO.codPrduto = Convert.ToInt16(Request.QueryString["codProduto"].ToString());
                        objImagensVO.Imagem = e.FileName;
                        //objImagensVO.DescricaoImagem = "Imagem";

                        ImagensBusiness.Insert(objImagensVO);

                        txtCodigo.Text = Request.QueryString["codProduto"].ToString();
                        Response.Write("<script>alert('Imagem Inserida Com Sucesso.');</script>");                        
                    }

                  }
                  ScriptManager.RegisterClientScriptBlock(AsyncFileUpload1, AsyncFileUpload1.GetType(), "img", "top.document.getElementById('imgUpload').src='" + strPath + "';", true);
              }
        }

        protected void lkVoltar_Click(object sender, EventArgs e)
        {
            if (!(Request.QueryString["codProduto"] == null))
            {
                Response.Redirect("Produto.aspx?cod=" + Request.QueryString["codProduto"].ToString());
            }
        }

                 
        private bool PermitirArquivo(string arquivo)
        {
            string extensao = System.IO.Path.GetExtension(arquivo).ToLower();

            string[] permitidos = { ".jpg", ".jpeg" };

            for (int i = 0; i < permitidos.Length; i++)
            {
                if (string.Compare(extensao, permitidos[i]) == 0)
                {
                    return true;
                }

            }
            return false;
        }


        #region Binding
        public int CodImagem
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public int codPrduto
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public byte[] Imagem
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public string DescricaoImagem
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public List<Common.Code.Mensagem> Mensagens
        {
            set { throw new NotImplementedException(); }
        }

        public Common.Code.ActionData Acao
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        #endregion
    }
}